home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-07-12 | 29.0 KB | 1,174 lines | [TEXT/MPS ] |
- (**************************)
- (* methods for TMyCommand *)
- (**************************)
- {$S ADoCommand}
- PROCEDURE TMyCommand.IMyCommand(theCommandNum: CmdNumber; theCard: TCard);
-
- VAR
- theDocument: TDesignDocument;
- theView: TDesignView;
- theScroller: TScroller;
-
- BEGIN
- SELF.DetermineInitializationFromCard(theCard, theDocument, theView, theScroller);
- SELF.ICommand(theCommandNum, theDocument, theView, theScroller);
- SELF.SetDocument(theDocument);
- SELF.SetCard(theCard);
- END; {TMyCommand.IMyCommnad}
-
- {$S ADoCommand}
- FUNCTION TMyCommand.GetDocument: TDesignDocument;
-
- BEGIN
- GetDocument:= fDocument;
- END; {TMyCommand.GetDocument}
-
- {$S ADoCommand}
- PROCEDURE TMyCommand.SetDocument(theDesign: TDesignDocument);
-
- BEGIN
- fDocument:= theDesign;
- END; {TMyCommand.SetDocument}
-
- {$S ADoCommand}
- FUNCTION TMyCommand.GetCard: TCard;
-
- BEGIN
- GetCard:= fCard;
- END; {TMyCommand.GetCard}
-
- {$S ADoCommand}
- PROCEDURE TMyCommand.SetCard(theCard: TCard);
-
- BEGIN
- fCard:= theCard;
- END; {TMyCommand.SetCard}
-
- {$S ADoCommand}
- PROCEDURE TMyCommand.DetermineInitializationFromCard( theCard: TCard;
- VAR theDesignDoc: TDesignDocument;
- VAR theDesignView: TDesignView;
- VAR theScroller: TScroller);
-
- BEGIN
- theDesignDoc:= theCard.GetDocument;
- theDesignView:= theDesignDoc.GetDesignView;
- theScroller:= theDesignView.GetScroller(kUseImmediateSuperView);
- END; {TMyCommand.DetermineInitializationFromCard}
-
- {$S ADoCommand}
- PROCEDURE TMyCommand.RedoIt; OVERRIDE;
-
- BEGIN
- SELF.DoIt;
- END; {TMyCommand.RedoIt}
-
- {$S AFields}
- PROCEDURE TMyCommand.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr;
- fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TMyCommand', NIL, bClass);
- DoToField('fDocument', @fDocument, bObject);
- DoToField('fCard', @fCard, bObject);
- INHERITED Fields(DoToField);
- END; {TMyCommand.Fields}
-
-
- (*******************************)
- (* methods for TDraggerCommand *)
- (*******************************)
-
- {$S ADoCommand}
- FUNCTION TDraggerCommand.GetSimpleView: TSimpleView;
-
- BEGIN
- GetSimpleView:= fSimpleView;
- END; {TDraggerCommand.GetSimpleView}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.SetSimpleView(theSimpleView: TSimpleView);
-
- BEGIN
- fSimpleView:= theSimpleView;
- END; {TDraggerCommand.SetSimpleView}
-
- {$S ADoCommand}
- FUNCTION TDraggerCommand.GetOldLocation: VPoint;
-
- BEGIN
- GetOldLocation:= fOldLocation;
- END; {TDraggerCommand.GetOldLocation}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.SetOldLocation(theLocation: VPoint);
-
- BEGIN
- fOldLocation:= theLocation;
- END; {TDraggerCommand.SetOldLocation}
-
- {$S ADoCommand}
- FUNCTION TDraggerCommand.GetNewLocation: VPoint;
-
- BEGIN
- GetNewLocation:= fNewLocation;
- END; {TDraggerCommand.GetNewLocation}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.SetNewLocation(theLocation: VPoint);
-
- BEGIN
- fNewLocation:= theLocation;
- END; {TDraggerCommand.SetNewLocation}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.IDraggerCommand(theView: TSimpleView; theDownPoint: Point);
-
- VAR
- aLocation: VPoint;
- theCard: TCard;
-
- BEGIN
- theCard:= theView.GetCard;
- aLocation:= theView.fLocation;
- SELF.SetOldLocation(aLocation); {MacApp does not provide the accessor!}
- SELF.SetNewLocation(SELF.GetOldLocation);
- SELF.SetSimpleView(theView);
- theView.SetDragging(FALSE);
- fConstrainsMouse:= kConstrainDrags;
- SELF.IMyCommand(cMoveViewCmd, theCard);
- END; {TDraggerCommand.IDragger}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.TrackFeedback(anchorPoint, nextPoint: VPoint;
- turnItOn, mouseDidMove: BOOLEAN); OVERRIDE;
-
- VAR
- delta: Point;
- itsFrame: VRect;
- itsQDFrame: Rect;
-
- BEGIN
- IF mouseDidMove AND (fSimpleView.GetDragging) THEN
- BEGIN
- fSimpleView.GetFrame(itsFrame);
- VRectToRect(itsFrame, itsQDFrame);
- delta.h:= nextPoint.h - anchorPoint.h;
- delta.v:= nextPoint.v - anchorPoint.v;
- OffSetRect(itsQDFrame, delta.h, delta.v);
- PenMode(patXOR);
- FrameRect(itsQDFrame);
- END;
- END; {TDraggerCommand.TrackFeedback}
-
- {$S ADoCommand}
- FUNCTION TDraggerCommand.TrackMouse(aTrackPhase: TrackPhase;
- VAR anchorPoint, previousPoint, nextPoint: VPoint;
- mouseDidMove: BOOLEAN): TCommand; OVERRIDE;
-
- VAR
- delta: VPoint;
- newPoint: VPoint;
-
- BEGIN
- TrackMouse:= SELF;
- IF aTrackPhase = trackRelease THEN
- BEGIN
- IF fSimpleView.GetDragging THEN
- BEGIN
- delta.h:= previousPoint.h - anchorPoint.h;
- delta.v:= previousPoint.v - anchorPoint.v;
- newPoint:= SELF.GetOldLocation;
- AddVPt(delta, newPoint);
- SELF.SetNewLocation(newPoint);
- fSimpleView.SetDragging(NOT kDragging);
- END
- ELSE
- TrackMouse:= gNoChanges;
- END
- ELSE
- IF aTrackPhase = trackMove THEN
- IF mouseDidMove THEN
- IF (NOT fSimpleView.GetDragging) THEN
- BEGIN
- fSimpleView.GetWindow.Update;
- fSimpleView.SetDragging(kDragging);
- IF fSimpleView.FocusOnSuperView THEN;
- END;
- END; {TDraggerCommand.TrackMouse}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.DoIt; OVERRIDE;
-
- VAR
- theLocation: VPoint;
- theDesignView: TDesignView;
-
- BEGIN
- theLocation:= SELF.GetNewLocation;
- IF theLocation.h < 0 THEN
- theLocation.h:= 0;
- IF theLocation.v < 0 THEN
- theLocation.v:= 0;
- fSimpleView.Locate(theLocation.h, theLocation.v, kInvalidate);
- theDesignView:= fDocument.GetDesignView;
- theDesignView.AdjustSize;
- fCard.SetLocation(theLocation);
- END; {TAddCardCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TDraggerCommand.UndoIt; OVERRIDE;
-
- VAR
- theLocation: VPoint;
- theDesignView: TDesignView;
-
- BEGIN
- theLocation:= SELF.GetOldLocation;
- IF theLocation.h < 0 THEN
- theLocation.h:= 0;
- IF theLocation.v < 0 THEN
- theLocation.v:= 0;
- fSimpleView.Locate(theLocation.h, theLocation.v, kInvalidate);
- theDesignView:= fDocument.GetDesignView;
- theDesignView.AdjustSize;
- fCard.SetLocation(theLocation);
- END; {TAddCardCommand.UndoIt}
-
- {$S AFields}
- PROCEDURE TDraggerCommand.Fields(PROCEDURE DoToField(fieldName: Str255; fieldAddr: Ptr;
- fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TMyCommand', NIL, bClass);
- DoToField('fSimpleView', @fSimpleView, bObject);
- DoToField('fOldLocation', @fOldLocation, bVPoint);
- DoToField('fNewLocation', @fNewLocation, bVPoint);
- INHERITED Fields(DoToField);
- END; {TDraggerCommand.Fields}
-
-
- (****************************)
- (* methods for TCardCommand *)
- (****************************)
-
- {$S ARes}
- FUNCTION TCardCommand.GetIndex: ArrayIndex;
-
- BEGIN
- GetIndex:= fIndex;
- END; {TCardCommand.GetIndex}
-
- {$S ARes}
- PROCEDURE TCardCommand.SetIndex(theIndex: ArrayIndex);
-
- BEGIN
- fIndex:= theIndex;
- END; {TCardCommand.SetIndex}
-
- {$S ASelCommand}
- PROCEDURE TCardCommand.ICardCommand(theCommandNum: CmdNumber; theCard: TCard;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.SetIndex(itsIndex);
- SELF.IMyCommand(theCommandNum, theCard);
- END; {TCardCommand.ICardCommand}
-
- {$S AFields}
- PROCEDURE TCardCommand.Fields(PROCEDURE DoToField(
- fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TCardCommand', NIL, bClass);
- DoToField('fIndex', @fIndex, bLongInt);
- INHERITED Fields(DoToField);
- END; {TCardCommand.Fields}
-
-
- (*******************************)
- (* methods for TAddCardCommand *)
- (*******************************)
- {$S ADoCommand}
- PROCEDURE TAddCardCommand.IAddCardCommand(theLocation: Vpoint;
- theDocument: TDesignDocument);
-
- VAR
- aCard: TCard;
-
- BEGIN
- NEW(aCard);
- FailNil(aCard);
- aCard.ICard(theDocument, theLocation);
- SELF.ICardCommand(cNewCardCmd, aCard, theDocument.GetNumCards + 1);
- END; {TAddCardCommand.IAddCardCommand}
-
- {$S ADoCommand}
- PROCEDURE TAddCardCommand.DoIt; OVERRIDE;
-
- BEGIN
- fDocument.AddCard(fCard);
- END; {TAddCardCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TAddCardCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fDocument.DeleteCard(fCard);
- END; {TAddCardCommand.UndoIt}
-
- {$S AClose}
- PROCEDURE TAddCardCommand.Free; OVERRIDE;
-
- BEGIN
- IF NOT(fCmdDone) THEN
- fCard.Free;
- INHERITED Free;
- END; {TAddCardCommand.Free}
-
-
- (**********************************)
- (* methods for TDeleteCardCommand *)
- (**********************************)
-
- {$S ADoCommand}
- PROCEDURE TDeleteCardCommand.IDeleteCardCommand(theCard: TCard; itsIndex: ArrayIndex);
- BEGIN
- SELF.ICardCommand(cDeleteCardCmd, theCard, itsIndex);
- END; {TDeleteCardCommand.IDeleteCardCommand}
-
- {$S ADoCommand}
- PROCEDURE TDeleteCardCommand.DoIt; OVERRIDE;
-
- BEGIN
- fDocument.DeleteCard(fCard);
- END; {TDeleteCardCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TDeleteCardCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fDocument.AddCardAtIndex(fCard, SELF.GetIndex);
- END; {TDeleteCardCommand.UndoIt}
-
- {$S AClose}
- PROCEDURE TDeleteCardCommand.Free; OVERRIDE;
-
- BEGIN
- IF fCmdDone THEN
- fCard.Free;
- INHERITED Free;
- END; {TDeleteCardCommand.Free}
-
-
- (*********************************)
- (* methods for TFieldItemCommand *)
- (*********************************)
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.GetTheIndecies(VAR theFieldIndex,
- theGetIndex,
- theSetIndex: ArrayIndex);
-
- BEGIN
- theFieldIndex:= fFieldIndex;
- theGetIndex:= fGetIndex;
- theSetIndex:= fSetIndex;
- END;
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.SetTheIndecies( theFieldIndex,
- theGetIndex,
- theSetIndex: ArrayIndex);
-
- BEGIN
- fFieldIndex:= theFieldIndex;
- fGetIndex:= theGetIndex;
- fSetIndex:= theSetIndex;
- END;
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.DetermineAccessorsAndIndecies(theFieldItem: TFieldItem;
- theCard: TCard;
- itsIndex: ArrayIndex);
-
- VAR
- theGetter: TGetAccessorItem;
- theSetter: TSetAccessorItem;
- theGetIndex: ArrayIndex;
- theSetIndex: ArrayIndex;
-
- BEGIN
- theFieldItem.GetAccessors(theGetter, theSetter);
- SELF.SetGetAccessor(theGetter);
- theGetIndex:= theCard.GetIndexOfMethod(theGetter); {kNotFound if theGetter = NIL}
- SELF.SetSetAccessor(theSetter);
- theSetIndex:= theCard.GetIndexOfMethod(theSetter); {kNotFound if theGetter = NIL}
- SELF.SetTheIndecies(itsIndex, theGetIndex, theSetIndex);
- END; {TFieldItemCommand.DetermineAccessors}
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.IFieldItemCommand(theCommandNum: CmdNumber;
- theCard: TCard;
- theFieldItem: TFieldItem;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.SetFieldItem(theFieldItem);
- SELF.SetTheIndecies(itsIndex, kNotFound, kNotFound);
- SELF.IMyCommand(theCommandNum, theCard);
- END;
-
- {$S ADoCommand}
- FUNCTION TFieldItemCommand.GetFieldItem: TFieldItem;
-
- BEGIN
- GetFieldItem:= fFieldItem;
- END;
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.SetFieldItem(theFieldItem: TFieldItem);
-
- BEGIN
- fFieldItem:= theFieldItem;
- END;
-
- {$S ADoCommand}
- FUNCTION TFieldItemCommand.GetGetAccessor: TGetAccessorItem;
-
- BEGIN
- GetGetAccessor:= fGetAccessor;
- END;
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.SetGetAccessor(theGetAccessor: TGetAccessorItem);
-
- BEGIN
- fGetAccessor:= theGetAccessor;
- END;
-
- {$S ADoCommand}
- FUNCTION TFieldItemCommand.GetSetAccessor: TSetAccessorItem;
-
- BEGIN
- GetSetAccessor:= fSetAccessor;
- END;
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.SetSetAccessor(theSetAccessor: TSetAccessorItem);
-
- BEGIN
- fSetAccessor:= theSetAccessor;
- END;
-
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.CreateAccessors(theFieldItem: TFieldItem);
-
- VAR
- aGetAccessor: TGetAccessorItem;
- aSetAccessor: TSetAccessorItem;
- itsName: str255;
-
- BEGIN
- itsName:= theFieldItem.GetTheName;
-
- NEW(aGetAccessor);
- FailNIL(aGetAccessor);
- aGetAccessor.IAccessorItem(fCard, itsName, theFieldItem);
- SELF.SetGetAccessor(aGetAccessor);
- theFieldItem.SetGetAccessor(aGetAccessor);
-
- NEW(aSetAccessor);
- FailNIL(aSetAccessor);
- aSetAccessor.IAccessorItem(fCard, itsName, theFieldItem);
- SELF.SetSetAccessor(aSetAccessor);
- theFieldItem.SetSetAccessor(aSetAccessor);
- END; {TFieldItemCommand.CreateAccessors}
-
- {$S ADoCommand}
- PROCEDURE TFieldItemCommand.DeleteAccessors;
-
- BEGIN
- IF fGetAccessor <> NIL THEN
- fCard.DeleteMethod(fGetAccessor);
- IF fSetAccessor <> NIL THEN
- fCard.DeleteMethod(fSetAccessor);
- END; {TFieldItemCommand.DeleteAccessors}
-
- {$S AFields}
- PROCEDURE TFieldItemCommand.Fields(PROCEDURE DoToField(
- fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TFieldItemCommand', NIL, bClass);
- DoToField('fFieldIndex', @fFieldIndex, bLongInt);
- DoToField('fGetIndex', @fGetIndex, bLongInt);
- DoToField('fSetIndex', @fSetIndex, bLongInt);
- DoToField('fFieldItem', @fFieldItem, bObject);
- DoToField('fGetAccessor', @fGetAccessor, bObject);
- DoToField('fSetAccessor', @fSetAccessor, bObject);
- INHERITED Fields(DoToField);
- END;
-
-
- (************************************)
- (* methods for TAddFieldItemCommand *)
- (************************************)
-
- {$S ADoCommand}
- PROCEDURE TAddFieldItemCommand.IAddFieldItemCommand(theCard: TCard;
- theName, theType: str255);
-
- VAR
- aFieldItem: TFieldItem;
-
- BEGIN
- NEW(aFieldItem);
- FailNIL(aFieldItem);
- aFieldItem.IFieldItem(theCard, theName, theType);
- SELF.IFieldItemCommand(cAddFieldCmd, theCard, aFieldItem, theCard.GetNumFields + 1);
- SELF.CreateAccessors(aFieldItem);
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddFieldItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- fCard.AddMethod(fGetAccessor);
- fCard.AddMethod(fSetAccessor);
- fCard.AddField(fFieldItem);
- fCard.SetupFieldsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddFieldItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.DeleteField(fFieldItem);
- SELF.DeleteAccessors;
- END;
-
- {$S AClose}
- PROCEDURE TAddFieldItemCommand.Free; OVERRIDE;
-
- BEGIN
- IF NOT(fCmdDone) THEN
- BEGIN
- fGetAccessor.Free;
- fSetAccessor.Free;
- fFieldItem.Free;
- END;
- INHERITED Free;
- END;
-
-
- (***************************************)
- (* methods for TDeleteFieldItemCommand *)
- (***************************************)
-
- {$S ADoCommand}
- PROCEDURE TDeleteFieldItemCommand.IDeleteFieldItemCommand(theCard: TCard;
- theFieldItem: TFieldItem;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.IFieldItemCommand(cDelFieldCmd, theCard, theFieldItem, itsIndex);
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteFieldItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- SELF.DetermineAccessorsAndIndecies(fFieldItem, fCard, fFieldIndex);
- fCard.DeleteField(fFieldItem);
- SELF.DeleteAccessors;
- fCard.SetupFieldsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteFieldItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.AddFieldAtIndex(fFieldItem, fFieldIndex);
- IF fGetAccessor <> NIL THEN
- fCard.AddMethodAtIndex(fGetAccessor, fGetIndex);
- IF fSetAccessor <> NIL THEN
- fCard.AddMethodAtIndex(fSetAccessor, fSetIndex);
- END;
-
- {$S AClose}
- PROCEDURE TDeleteFieldItemCommand.Free; OVERRIDE;
-
- BEGIN
- IF fCmdDone THEN
- BEGIN
- IF fGetAccessor <> NIL THEN
- fGetAccessor.Free;
- IF fSetAccessor <> NIL THEN
- fSetAccessor.Free;
- fFieldItem.Free;
- END;
- INHERITED Free;
- END;
-
-
- (**********************************)
- (* methods for TMethodItemCommand *)
- (**********************************)
-
- {$S ADoCommand}
- FUNCTION TMethodItemCommand.GetIndex: ArrayIndex;
-
- BEGIN
- GetIndex:= fIndex;
- END;
-
- {$S ADoCommand}
- PROCEDURE TMethodItemCommand.SetIndex(theIndex: ArrayIndex);
-
- BEGIN
- fIndex:= theIndex;
- END;
-
- {$S ADoCommand}
- PROCEDURE TMethodItemCommand.IMethodItemCommand(theCommandNum: CmdNumber;
- theCard: TCard;
- theMethodItem: TMethodItem;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.SetMethodItem(theMethodItem);
- SELF.SetIndex(itsIndex);
- SELF.IMyCommand(theCommandNum, theCard);
- END;
-
- {$S ADoCommand}
- FUNCTION TMethodItemCommand.GetMethodItem: TMethodItem;
-
- BEGIN
- GetMethodItem:= fMethodItem;
- END;
-
- {$S ADoCommand}
- PROCEDURE TMethodItemCommand.SetMethodItem(theMethodItem: TMethodItem);
-
- BEGIN
- fMethodItem:= theMethodItem;
- END;
-
- {$S AFields}
- PROCEDURE TMethodItemCommand.Fields(PROCEDURE DoToField(
- fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
-
- BEGIN
- DoToField('TMethodItemCommand', NIL, bClass);
- DoToField('fIndex', @fIndex, bLongInt);
- DoToField('fMethodItem', @fMethodItem, bObject);
- INHERITED Fields(DoToField);
- END;
-
-
- (*************************************)
- (* methods for TAddMethodItemCommand *)
- (*************************************)
-
- {$S ADoCommand}
- PROCEDURE TAddMethodItemCommand.IAddMethodItemCommand(theCard: TCard;
- theItemName: str255;
- makeItAnOverride: boolean);
- VAR
- aMethodItem: TMethodItem;
-
- BEGIN
- NEW(aMethodItem);
- FailNil(aMethodItem);
- aMethodItem.IMethodItem(theCard, theItemName, makeItAnOverride);
- SELF.IMethodItemCommand(cAddMethodCmd, theCard, aMethodItem, theCard.GetNumMethods + 1);
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddMethodItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- fCard.AddMethod(fMethodItem);
- fCard.SetupMethodsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddMethodItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.DeleteMethod(fMethodItem);
- END;
-
- {$S AClose}
- PROCEDURE TAddMethodItemCommand.Free; OVERRIDE;
-
- BEGIN
- if NOT(fCmdDone) THEN
- fMethodItem.Free;
- INHERITED Free;
- END;
-
-
- (****************************************)
- (* methods for TDeleteMethodItemCommand *)
- (****************************************)
-
- {$S ADoCommand}
- PROCEDURE TDeleteMethodItemCommand.IDeleteMethodItemCommand(theCard: TCard;
- theMethodItem: TMethodItem;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.SetMethodItem(theMethodItem);
- SELF.IMethodItemCommand(cDelMethodCmd, theCard, theMethodItem, itsIndex);
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteMethodItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- fCard.DeleteMethod(fMethodItem);
- fCard.SetupMethodsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteMethodItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.AddMethodAtIndex(fMethodItem, fIndex);
- END;
-
- {$S AClose}
- PROCEDURE TDeleteMethodItemCommand.Free; OVERRIDE;
-
- BEGIN
- IF fCmdDone THEN
- fMethodItem.Free;
- INHERITED Free;
- END;
-
-
- (*******************************************)
- (* methods for TAddCollaboratorItemCommand *)
- (*******************************************)
-
- {$S ASelCommand}
- PROCEDURE TAddCollaboratorItemCommand.IAddCollaboratorItemCommand(theCard: TCard;
- theItemName: str255);
-
- VAR
- aCollaboratorItem: TCollaboratorItem;
-
- BEGIN
- NEW(aCollaboratorItem);
- FailNIL(aCollaboratorItem);
- aCollaboratorItem.ICollaboratorItem(theCard, theItemName);
- SELF.IFieldItemCommand( cAddCollaboratorCmd, theCard,
- aCollaboratorItem, theCard.GetNumCollaborators + 1);
- SELF.CreateAccessors(aCollaboratorItem);
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddCollaboratorItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- fCard.AddCollaborator(TCollaboratorItem(fFieldItem));
- fCard.AddMethod(fGetAccessor);
- fCard.AddMethod(fSetAccessor);
- fCard.SetupCollaboratorsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TAddCollaboratorItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.DeleteCollaborator(TCollaboratorItem(fFieldItem));
- fCard.DeleteMethod(fGetAccessor);
- fCard.DeleteMethod(fSetAccessor);
- END;
-
-
- (****************************************)
- (* methods for TDeleteCollabItemCommand *)
- (****************************************)
-
- {$S ASelCommand}
- PROCEDURE TDeleteCollabItemCommand.IDeleteCollabItemCommand(theCard: TCard;
- theCollabItem: TCollaboratorItem;
- itsIndex: ArrayIndex);
-
- BEGIN
- SELF.IFieldItemCommand(cDelFieldCmd, theCard, theCollabItem, itsIndex);
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteCollabItemCommand.DoIt; OVERRIDE;
-
- BEGIN
- SELF.DetermineAccessorsAndIndecies(fFieldItem, fCard, fFieldIndex);
- fCard.DeleteCollaborator(TCollaboratorItem(fFieldItem));
- IF fGetAccessor <> NIL THEN
- fCard.DeleteMethod(fGetAccessor);
- IF fSetAccessor <> NIL THEN
- fCard.DeleteMethod(fSetAccessor);
- fCard.SetupCollaboratorsMode;
- END;
-
- {$S ADoCommand}
- PROCEDURE TDeleteCollabItemCommand.UndoIt; OVERRIDE;
-
- BEGIN
- fCard.AddCollaboratorAtIndex(TCollaboratorItem(fFieldItem), fFieldIndex);
- IF fGetAccessor <> NIL THEN
- fCard.AddMethodAtIndex(fGetAccessor, fGetIndex);
- IF fSetAccessor <> NIL THEN
- fCard.AddMethodAtIndex(fSetAccessor, fSetIndex);
- END;
-
-
- (**********************************)
- (* methods for TChangeNameCommand *)
- (**********************************)
-
- {$S ADoCommand}
- FUNCTION TChangeNameCommand.GetOldName: str255;
-
- BEGIN
- GetOldName:= fOldName;
- END; {TChangeNameCommand.GetOldName}
-
- {$S ADoCommand}
- PROCEDURE TChangeNameCommand.SetOldName(theOldName: str255);
-
- BEGIN
- fOldName:= theOldName;
- END; {TChangeNameCommand.SetOldName}
-
- {$S ADoCommand}
- FUNCTION TChangeNameCommand.GetNewName: str255;
-
- BEGIN
- GetNewName:= fNewName;
- END; {TChangeNameCommand.GetNewName}
-
- {$S ADoCommand}
- PROCEDURE TChangeNameCommand.SetNewName(theNewName: str255);
-
- BEGIN
- fNewName:= theNewName;
- END; {TChangeNameCommand.SetNewName}
-
- {$S ADoCommand}
- PROCEDURE TChangeNameCommand.IChangeNameCommand(theCommandNum: CmdNumber;
- theCard: TCard;
- theOldName, theNewName: str255);
-
- BEGIN
- SELF.SetOldName(theOldName);
- SELF.SetNewName(theNewName);
- SELF.IMyCommand(theCommandNum, theCard);
- END; {TChangeNameCommand.IChangeNameCommand}
-
- {$S AFields}
- PROCEDURE TChangeNameCommand.Fields(PROCEDURE DoToField(fieldName: Str255;
- fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
- BEGIN
- DoToField('TChangeNameCommand', NIL, bClass);
- DoToField('fOldName', @fOldName, bString);
- DoToField('fNewName', @fNewName, bString);
- INHERITED Fields(DoToField);
- END; {TChangeNameCommand.Fields}
-
-
- (***********************************)
- (* methods for TChangeClassCommand *)
- (***********************************)
-
- {$S ADoCommand}
- PROCEDURE TChangeClassCommand.DoIt; OVERRIDE;
-
- VAR
- theName: str255;
-
- BEGIN
- theName:= SELF.GetNewName;
- fCard.ChangeClass(theName);
- END; {TChangeClassCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeClassCommand.UndoIt; OVERRIDE;
-
- VAR
- theName: str255;
-
- BEGIN
- theName:= SELF.GetOldName;
- fCard.ChangeClass(theName);
- END; {TChangeClassCommand.UndoIt}
-
-
- (****************************************)
- (* methods for TChangeSuperClassCommand *)
- (****************************************)
-
- {$S ADoCommand}
- PROCEDURE TChangeSuperClassCommand.DoIt; OVERRIDE;
-
- VAR
- theName: str255;
-
- BEGIN
- theName:= SELF.GetNewName;
- fCard.ChangeSuperClass(theName);
- END; {TChangeSuperClassCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeSuperClassCommand.UndoIt; OVERRIDE;
-
- VAR
- theName: str255;
-
- BEGIN
- theName:= SELF.GetOldName;
- fCard.ChangeSuperClass(theName);
- END; {TChangeSuperClassCommand.UndoIt}
-
-
- (*************************************)
- (* methods for TChangeInstVarCommand *)
- (*************************************)
-
- {$S ADoCommand}
- PROCEDURE TChangeInstVarCommand.IChangeInstVarCommand(theCommandNum: CmdNumber;
- theCard:TCard;
- theFieldItem: TFieldItem;
- theNewName: Str255);
-
- VAR
- theGetAccessor: TGetAccessorItem;
- theSetAccessor: TSetAccessorItem;
-
- BEGIN
- fFieldItem:=TheFieldItem;
- SELF.IChangeNameCommand(theCommandNum, theCard, fFieldItem.GetTheName, theNewName);
- fFieldItem.GetAccessors(theGetAccessor,theSetAccessor);
- fGetAccessor:=theGetAccessor;
- fSetAccessor:=theSetAccessor;
- END; {TChangeInstVarCommand.IChangeInstVarCommand}
-
- {$S ADoCommand}
- PROCEDURE TChangeInstVarCommand.DoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
- theCorrectName : Str255;
-
- BEGIN
- theCard:=SELF.GetCard;
- theCorrectName:= fFieldItem.GetTheName;
-
- {we must use this value, because it has now been adjusted to see if it already carries
- the proper prefix in front, and that it has been stripped of all illegal characters.
- NOTE!!! This assumes that the item's name already has it's new value!!!}
- IF fGetAccessor<>NIL THEN
- theCard.ChangeMethod(fGetAccessor,theCorrectName,FALSE);
- IF fSetAccessor<>NIL THEN
- theCard.ChangeMethod(fSetAccessor,theCorrectName,FALSE);
- END; {TChangeInstVarCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeInstVarCommand.UndoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
-
- BEGIN
- theCard:=SELF.GetCard;
- {THIS ASSUMES THE ITEM ITSELF HAS ALREADY BEEN RESTORED}
- theCard.ChangeMethod(fGetAccessor,SELF.GetOldName,FALSE);
- theCard.ChangeMethod(fSetAccessor,SELF.GetOldName,FALSE);
- END; {TChangeInstVarCommand.UndoIt}
-
-
- (***********************************)
- (* methods for TChangeFieldCommand *)
- (***********************************)
-
- {$S ADoCommand}
- FUNCTION TChangeFieldCommand.GetOldType: Str255;
-
- BEGIN
- GetOldType:=fOldType;
- END; {TChangeFieldCommand.GetOldType}
-
- {$S ADoCommand}
- PROCEDURE TChangeFieldCommand.SetOldType(theType: Str255);
-
- BEGIN
- fOldType:=theType;
- END; {TChangeFieldCommand.SetOldType}
-
- {$S ADoCommand}
- FUNCTION TChangeFieldCommand.GetNewType: Str255;
-
- BEGIN
- GetNewType:=fNewType;
- END; {TChangeFieldCommand.GetNewType}
-
- {$S ADoCommand}
- PROCEDURE TChangeFieldCommand.SetNewType(theType: Str255);
-
- BEGIN
- fNewType:=theType;
- END; {TChangeFieldCommand.SetNewType}
-
- {$S ADoCommand}
- PROCEDURE TChangeFieldCommand.IChangeFieldCommand(theCommandNum: CmdNumber; theCard:TCard;
- TheFieldItem: TFieldItem;
- theNewName, theNewType: Str255);
-
- BEGIN
- SELF.IChangeInstVarCommand(theCommandNum, theCard, TheFieldItem, theNewName);
- SELF.SetOldType(fFieldItem.GetItemType);
- SELF.SetNewType(theNewType);
- END;
-
- {$S ADoCommand}
- PROCEDURE TChangeFieldCommand.DoIt; OVERRIDE;
- VAR
- theCard: TCard;
-
- BEGIN
- theCard:= SELF.GetCard;
- theCard.ChangeField(fFieldItem,SELF.GetNewName,SELF.GetNewType);
- INHERITED DoIt;
- theCard.SetupFieldsMode;
- END; {TChangeFieldCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeFieldCommand.UndoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
-
- BEGIN
- SELF.GetCard.ChangeField(fFieldItem,SELF.GetOldName,SELF.GetOldType);
- INHERITED UndoIt
- END; {TChangeFieldCommand.UndoIt}
-
-
- (******************************************)
- (* methods for TChangeCollaboratorCommand *)
- (******************************************)
-
- {$S ADoCommand}
- PROCEDURE TChangeCollaboratorCommand.IChangeCollaboratorCommand(theCommandNum: CmdNumber;
- theCard:TCard;
- TheFieldItem: TFieldItem;
- theNewName: Str255);
-
- BEGIN
- SELF.IChangeInstVarCommand(theCommandNum, theCard, theFieldItem, theNewName);
- END;
-
- {$S ADoCommand}
- PROCEDURE TChangeCollaboratorCommand.DoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
-
- BEGIN
- theCard:= SELF.GetCard;
- theCard.ChangeCollaborator(TCollaboratorItem(fFieldItem),SELF.GetNewName);
- INHERITED DoIt;
- theCard.SetupCollaboratorsMode;
- END; {TChangeCollaboratorCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeCollaboratorCommand.UndoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
-
- BEGIN
- SELF.GetCard.ChangeCollaborator(TCollaboratorItem(fFieldItem),SELF.GetOldName);
- INHERITED UndoIt;
- END; {TChangeCollaboratorCommand.UndoIt}
-
-
- (******************************************)
- (* methods for TChangeMethodCommand *)
- (******************************************)
-
- {$S ADoCommand}
- FUNCTION TChangeMethodCommand.GetTheMethodItem:TMethodItem;
- BEGIN
- GetTheMethodItem:=fMethodItem;
- END; {TChangeMethodCommand.GetTheMethodItem}
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.SetTheMethodItem(theMethodItem : TMethodItem);
- BEGIN
- fMethodItem:=theMethodItem;
- END; {TChangeMethodCommand.SetTheMethodItem}
-
- {$S ADoCommand}
- FUNCTION TChangeMethodCommand.GetOldIsOverride: Boolean;
- BEGIN
- GetOldIsOverride:=fOldIsOverride;
- END; {TChangeMethodCommand.GetOldIsOverride}
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.SetOldIsOverride(isOverride : Boolean);
- BEGIN
- fOldIsOverride:=isOverride;
- END; {TChangeMethodCommand.SetOldIsOverride}
-
- {$S ADoCommand}
- FUNCTION TChangeMethodCommand.GetNewIsOverride:Boolean;
- BEGIN
- GetNewIsOverride:=fNewIsOverride;
- END; {TChangeMethodCommand.GetNewIsOverride}
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.SetNewIsOverride(isOverride : Boolean);
- BEGIN
- fNewIsOverride:=isOverride;
- END; {TChangeMethodCommand.SetNewIsOverride}
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.IChangeMethodCommand(theCommandNum: CmdNumber;
- theCard:TCard;
- theMethodItem: TMethodItem;
- theNewName: Str255;
- newIsOverride: Boolean);
-
- BEGIN
- SELF.IChangeNameCommand(theCommandNum, theCard, theMethodItem.GetTheName, theNewName);
- SELF.SetTheMethodItem(theMethodItem);
- SELF.SetNewIsOverride(newIsOverride);
- SELF.SetOldIsOverride(theMethodItem.GetOVERRIDE);
- END;
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.DoIt; OVERRIDE;
-
- VAR
- theCard: TCard;
-
- BEGIN
- theCard:= SELF.GetCard;
- theCard.ChangeMethod(fMethodItem,SELF.GetNewName,SELF.GetNewIsOverride);
- theCard.SetupMethodsMode;
- END; {TChangeMethodCommand.DoIt}
-
- {$S ADoCommand}
- PROCEDURE TChangeMethodCommand.UndoIt; OVERRIDE;
-
- BEGIN
- SELF.GetCard.ChangeMethod(fMethodItem,SELF.GetOldName,SELF.GetOldIsOverride);
- END; {TChangeMethodCommand.UndoIt}
-